![]() |
![]() |
![]() | |
![]() ![]() ![]() ![]()
╤σ≥σΓ√σ ∩≡ΦδεµσφΦ |
╤Γ τⁿ ∩≡ΦδεµσφΦΘ Java ± ≡α±°Φ≡σφΦ ∞Φ ±σ≡Γσ≡α Web╚≥αΩ, ∞√ ≡α±ΩαταδΦ Γα∞, ΩαΩ ∩≡ΦδεµσφΦ Java ∞επ≤≥ ∩εδ≤≈α≥ⁿ ± ±σ≡Γσ≡α Web Σδ εß≡αßε≥ΩΦ ∩≡εΦτΓεδⁿφ√σ ⌠αΘδ√, α ≥αΩµσ ΩαΩ εφΦ ∞επ≤≥ ∩σ≡σΣαΓα≥ⁿ Σαφφ√σ Σ≡≤π Σ≡≤π≤ ± ∩≡Φ∞σφσφΦσ∞ ∩ε≥εΩεΓ√⌡ ΦδΦ Σα≥απ≡α∞∞φ√⌡ ±εΩσ≥εΓ. ╬ΣφαΩε φαΦßεδσσ Γ∩σ≈α≥δ ■∙Φσ Γετ∞εµφε±≥Φ ε≥Ω≡√Γα■≥± , σ±δΦ ε≡παφΦτεΓα≥ⁿ ΓταΦ∞εΣσΘ±≥ΓΦσ ∞σµΣ≤ ∩≡ΦδεµσφΦσ∞ Java Φ ≡α±°Φ≡σφΦσ∞ ±σ≡Γσ≡α Web, ≥αΩΦ∞ ΩαΩ CGI ΦδΦ ISAPI. ┬ ²≥ε∞ ±δ≤≈ασ ∩≡ΦδεµσφΦ ΦδΦ α∩δσ≥√ Java ∞επδΦ ß√ ∩ε±√δα≥ⁿ ∩≡εΦτΓεδⁿφ√σ Σαφφ√σ ≡α±°Φ≡σφΦ■ ±σ≡Γσ≡α Web Σδ εß≡αßε≥ΩΦ, α τα≥σ∞ ∩εδ≤≈α≥ⁿ ≡στ≤δⁿ≥α≥ ²≥εΘ εß≡αßε≥ΩΦ Γ ΓΦΣσ ⌠αΘδα. ┬ταΦ∞εΣσΘ±≥ΓΦσ ∩≡ΦδεµσφΦ Java Φ ≡α±°Φ≡σφΦ ±σ≡Γσ≡α Web╠σ≥εΣΦΩα ε≡παφΦτα÷ΦΦ ΓταΦ∞εΣσΘ±≥ΓΦ ∩≡ΦδεµσφΦΘ Java Φ ≡α±°Φ≡σφΦΘ ±σ≡Γσ≡α Web ε±φεΓαφα φα ∩≡Φ∞σφσφΦΦ Ωδα±±εΓ URL Φ URLConnection. ╧≡ΦδεµσφΦσ Java, µσδα■∙σσ ≡αßε≥α≥ⁿ ± ≡α±°Φ≡σφΦσ∞ ±σ≡Γσ≡α Web, ±ετΣασ≥ εß·σΩ≥ Ωδα±±α URL Σδ ∩≡επ≡α∞∞√ ≡α±°Φ≡σφΦ (≥ε σ±≥ⁿ Σδ Φ±∩εδφ σ∞επε ∞εΣ≤δ ≡α±°Φ≡σφΦ CGI ΦδΦ ßΦßδΦε≥σΩΦ ΣΦφα∞Φ≈σ±ΩεΘ Ωε∞∩εφεΓΩΦ DLL ≡α±°Φ≡σφΦ ISAPI). ─αδσσ ∩≡ΦδεµσφΦσ ∩εδ≤≈ασ≥ ±±√δΩ≤ φα Ωαφαδ ∩σ≡σΣα≈Φ Σαφφ√⌡ ± ²≥Φ∞ ≡α±°Φ≡σφΦσ∞ ΩαΩ εß·σΩ≥α Ωδα±±α URLConnection. ╟α≥σ∞, ∩εδⁿτ≤ ±ⁿ ∞σ≥εΣα∞Φ getOutputStream Φ getInputStream Φτ Ωδα±±α URLConnection, ∩≡ΦδεµσφΦσ ±ετΣασ≥ ± ≡α±°Φ≡σφΦσ∞ ±σ≡Γσ≡α Web Γ√⌡εΣφεΘ Φ Γ⌡εΣφεΘ Ωαφαδ ∩σ≡σΣα≈Φ Σαφφ√⌡. ╩επΣα Σαφφ√σ ∩σ≡σΣα■≥± ∩≡ΦδεµσφΦσ∞ Γ Γ√⌡εΣφεΘ Ωαφαδ, ±ετΣαφφ√Θ ∩εΣεßφ√∞ εß≡ατε∞, εφ ∩ε∩αΣασ≥ Γ ±≥αφΣα≡≥φ√Θ ∩ε≥εΩ ΓΓεΣα ∩≡ΦδεµσφΦ CGI, ΩαΩ ß≤Σ≥ε ß√ Σαφφ√σ ∩≡Φ°δΦ ∞σ≥εΣε∞ POST Φτ ⌠ε≡∞√, ε∩≡σΣσδσφφεΘ Γ ΣεΩ≤∞σφ≥σ HTML. ╬ß≡αßε≥αΓ ∩εδ≤≈σφφ√σ Σαφφ√σ, ≡α±°Φ≡σφΦσ CGI τα∩Φ±√Γασ≥ Φ⌡ Γ ±ΓεΘ ±≥αφΣα≡≥φ√Θ Γ√⌡εΣφεΘ ∩ε≥εΩ, ∩ε±δσ ≈σπε ²≥Φ Σαφφ√σ ±≥αφεΓ ≥± Σε±≥≤∩φ√ ∩≡ΦδεµσφΦ■ Java ≈σ≡στ Γ⌡εΣφεΘ ∩ε≥εΩ, ε≥Ω≡√≥√Θ ∞σ≥εΣε∞ getInputStream Ωδα±±α URLConnection. ═α ≡Φ±. 1 ∩εΩαταφ√ ∩ε≥εΩΦ Σαφφ√⌡ Σδ ε∩Φ±αφφεΘ Γ√°σ ±⌡σ∞√ ΓταΦ∞εΣσΘ±≥ΓΦ ∩≡ΦδεµσφΦ Java Φ ≡α±°Φ≡σφΦ ±σ≡Γ≡σα Web ± Φφ≥σ≡⌠σΘ±ε∞ CGI. ╨Φ±. 1. ┬ταΦ∞εΣσΘ±≥ΓΦσ ∩≡ΦδεµσφΦ Java ± ≡α±°Φ≡σφΦσ∞ ±σ≡Γσ≡α Web φα ßατσ Φφ≥σ≡⌠σΘ±α CGI ╨α±°Φ≡σφΦ ISAPI ≡αßε≥α■≥ αφαδεπΦ≈φε, εΣφαΩε εφΦ ∩εδ≤≈α■≥ Σαφφ√σ φσ Φτ ±≥αφΣ≡α≥φεπε Γ⌡εΣφεπε ∩ε≥εΩα, α ± ∩ε∞ε∙ⁿ■ Γ√τεΓα ±∩σ÷Φαδⁿφε ∩≡σΣφατφα≈σφφεΘ Σδ ²≥επε ⌠≤φΩ÷ΦΦ Φφ≥σ≡⌠σΘ±α ISAPI. ┬∞σ±≥ε ±≥αφΣα≡≥φεπε ∩ε≥εΩα Γ√ΓεΣα ≥αΩµσ ∩≡Φ∞σφ σ≥± ±∩σ÷Φαδⁿφα ⌠≤φΩ÷Φ . ╩δα±± URLConnection═α∩ε∞φΦ∞, ≈≥ε Γ Ωδα±±σ URL, ≡α±±∞ε≥≡σφφε∞ φα∞Φ Γ φα≈αδσ ²≥εΘ πδαΓ√, ∞√ ∩≡ΦΓσδΦ ∩≡ε≥ε≥Φ∩ ∞σ≥εΣα openConnection, ΓετΓ≡α∙α■∙ΦΘ Σδ ταΣαφφεπε εß·σΩ≥α Ωδα±±α URL ±±√δΩ≤ φα εß·σΩ≥ URLConnection: public URLConnection openConnection(); ╫≥ε ∞√ ∞εµσ∞ ∩εδ≤≈Φ≥ⁿ, Φ∞σ ±±√δΩ≤ φα ²≥ε≥ εß·σΩ≥? ╧≡σµΣσ Γ±σπε, ∩εδⁿτ≤ ±ⁿ ²≥εΘ ±±√δΩεΘ, ∞√ ∞εµσ∞ ∩εδ≤≈Φ≥ⁿ ±εΣσ≡µΦ∞εσ εß·σΩ≥α, αΣ≡σ±≤σ∞εσ ±εε≥Γσ≥±≥Γ≤■∙Φ∞ εß·σΩ≥ε∞ URL, ∞σ≥εΣε∞ getContent: public Object getContent(); ╟α∞σ≥Φ∞, ≈≥ε ∞σ≥εΣ ± ≥αΩΦ∞ µσ φατΓαφΦσ∞ σ±≥ⁿ Φ Γ Ωδα±±σ URL. ╧ε²≥ε∞≤ σ±δΦ Γ±σ, ≈≥ε Γ√ ⌡ε≥Φ≥σ ±Σσδα≥ⁿ, ²≥ε ∩εδ≤≈σφΦσ ±εΣσ≡µΦ∞εσ ⌠αΘδα, αΣ≡σ±≤σ∞εσ εß·σΩ≥ε∞ Ωδα±±α URL, ≥ε φσ≥ φΦΩαΩεΘ φσεß⌡εΣΦ∞ε±≥Φ εß≡α∙α≥ⁿ± Ω Ωδα±±≤ URLConnection. ╠σ≥εΣ getInputStream ∩ετΓεδ σ≥ ε≥Ω≡√≥ⁿ Γ⌡εΣφεΘ ∩ε≥εΩ Σαφφ√⌡, ± ∩ε∞ε∙ⁿ■ Ωε≥ε≡επε ∞εµφε ±≈Φ≥α≥ⁿ ⌠αΘδ ΦδΦ ∩εδ≤≈Φ≥ⁿ Σαφφ√σ ε≥ ≡α±°Φ≡σφΦ ±σ≡Γσ≡α Web: public InputStream getInputStream(); ┬ Ωδα±±σ URLConnection ε∩≡σΣσδσφ ≥αΩµσ ∞σ≥εΣ getOutputStream, ∩ετΓεδ ■∙ΦΘ ε≥Ω≡√≥ⁿ Γ√⌡εΣφεΘ ∩ε≥εΩ Σαφφ√⌡: public OutputStream getOutputStream(); ═σ ±δσΣ≤σ≥ Σ≤∞α≥ⁿ, ≈≥ε ²≥ε≥ ∩ε≥εΩ ∞εµφε Φ±∩εδⁿτεΓα≥ⁿ Σδ τα∩Φ±Φ ⌠αΘδεΓ Γ Ωα≥αδεπΦ ±σ≡Γσ≡α Web. ╬ΣφαΩε Σδ ²≥επε ∩ε≥εΩα σ±≥ⁿ δ≤≈°σσ ∩≡Φ∞σφσφΦσ - ± σπε ∩ε∞ε∙ⁿ■ ∞εµφε ∩σ≡σΣα≥ⁿ Σαφφ√σ ≡α±°Φ≡σφΦ■ ±σ≡Γσ≡α Web. ╨α±±∞ε≥≡Φ∞ σ∙σ φσ±ΩεδⁿΩε ∩εδστφ√⌡ ∞σ≥εΣεΓ, ε∩≡σΣσδσφφ√⌡ Γ Ωδα±±σ URLConnection. ╠σ≥εΣ connect ∩≡σΣφατφα≈σφ Σδ ≤±≥αφεΓΩΦ ±εσΣΦφσφΦ ± εß·σΩ≥ε∞, φα Ωε≥ε≡√Θ ±±√δασ≥± εß·σΩ≥ Ωδα±±α URL: public abstract void connect(); ╧σ≡σΣ ≤±≥αφεΓΩεΘ ±εσΣΦφσφΦ ∩≡ΦδεµσφΦσ ∞εµσ≥ ≤±≥αφεΓΦ≥ⁿ ≡ατδΦ≈φ√σ ∩α≡α∞σ≥≡√ ±εσΣΦφσφΦ . ═σΩε≥ε≡√σ Φτ ∞σ≥εΣεΓ, ∩≡σΣφατφα≈σφφ√⌡ Σδ ²≥επε, ∩≡ΦΓσΣσφ√ φΦµσ:
┬Ωδ■≈σφΦσ ΦδΦ ε≥Ωδ■≈σφΦσ Ω²°Φ≡εΓαφΦ ∩ε ≤∞εδ≈αφΦ■ public void setDefaultUseCaches( boolean defaultusecaches);
┬Ωδ■≈σφΦσ ΦδΦ ε≥Ωδ■≈σφΦσ Ω²°Φ≡εΓαφΦ public void setUseCaches(boolean usecaches);
┬ετ∞εµφε±≥ⁿ Φ±∩εδⁿτεΓαφΦ ∩ε≥εΩα Σδ ΓΓεΣα public void setDoInput(boolean doinput);
┬ετ∞εµφε±≥ⁿ Φ±∩εδⁿτεΓαφΦ ∩ε≥εΩα Σδ Γ√ΓεΣα public void setDoOutput(boolean dooutput);
╙±≥αφεΓΩα Σα≥√ ∞εΣΦ⌠ΦΩα÷ΦΦ ΣεΩ≤∞σφ≥α public void setIfModifiedSince( long ifmodifiedsince); ┬ Ωδα±±σ URLConnection σ±≥ⁿ ∞σ≥εΣ√, ∩ετΓεδ ■∙Φσ ε∩≡σΣσδΦ≥ⁿ τφα≈σφΦ ∩α≡α∞σ≥≡εΓ, ≤±≥αφεΓδσφφ√⌡ ≥εδⁿΩε ≈≥ε ε∩Φ±αφφ√∞Φ ∞σ≥εΣα∞Φ: public boolean getDefaultUseCaches(); public boolean getUseCaches(); public boolean getDoInput(); public boolean getDoOutput(); public long getIfModifiedSince(); ╬∩≡σΣσδσφφ√Θ Φφ≥σ≡σ± ∞επ≤≥ ∩≡σΣ±≥αΓδ ≥ⁿ ∞σ≥εΣ√, ∩≡σΣφατφα≈σφφ√σ Σδ ΦτΓδσ≈σφΦ Φφ⌠ε≡∞α÷ΦΦ Φτ ταπεδεΓΩα ∩≡ε≥εΩεδα HTTP:
╠σ≥εΣ ΓετΓ≡α∙ασ≥ ±εΣσ≡µΦ∞εσ ταπεδεΓΩα content-encoding (ΩεΣΦ≡εΓΩα ≡σ±≤≡±α, φα Ωε≥ε≡√Θ ±±√δασ≥± URL) public String getContentEncoding();
╠σ≥εΣ ΓετΓ≡α∙ασ≥ ±εΣσ≡µΦ∞εσ ταπεδεΓΩα content-length (≡ατ∞σ≡ ΣεΩ≤∞σφ≥α) public int getContentLength();
╠σ≥εΣ ΓετΓ≡α∙ασ≥ ±εΣσ≡µΦ∞εσ ταπεδεΓΩα content-type (≥Φ∩ ±εΣσ≡µΦ∞επε) public String getContentType();
╠σ≥εΣ ΓετΓ≡α∙ασ≥ ±εΣσ≡µΦ∞εσ ταπεδεΓΩα date (Σα≥α ∩ε±√δΩΦ ≡σ±≤≡±α Γ ±σΩ≤φΣα⌡ ± 1 φΓα≡ 1970 πεΣα) public long getDate();
╠σ≥εΣ ΓετΓ≡α∙ασ≥ ±εΣσ≡µΦ∞εσ ταπεδεΓΩα last-modified (Σα≥α Φτ∞σφσφΦ ≡σ±≤≡±α Γ ±σΩ≤φΣα⌡ ± 1 φΓα≡ 1970 πεΣα) public long getLastModified();
╠σ≥εΣ ΓετΓ≡α∙ασ≥ ±εΣσ≡µΦ∞εσ ταπεδεΓΩα expires (Σα≥α ≤±≥α≡σΓαφΦ ≡σ±≤≡±α Γ ±σΩ≤φΣα⌡ ± 1 φΓα≡ 1970 πεΣα) public long getExpiration(); ─≡≤πΦσ ∞σ≥εΣ√, ε∩≡σΣσδσφφ√σ Γ Ωδα±±σ URLConnection, ∩ετΓεδ ■≥ ∩εδ≤≈Φ≥ⁿ Γ±σ ταπεδεΓΩΦ ΦδΦ ταπεδεΓΩΦ ± ταΣαφφ√∞ φε∞σ≡ε∞, α ≥αΩµσ Σ≡≤π≤■ Φφ⌠ε≡∞α÷Φ■ ε ±εσΣΦφσφΦΦ. ╧≡Φ φσεß⌡εΣΦ∞ε±≥Φ Γ√ φαΘΣσ≥σ ε∩Φ±αφΦσ ²≥Φ⌡ ∞σ≥εΣεΓ Γ ±∩≡αΓε≈φεΘ ±Φ±≥σ∞σ Java WorkShop. |